package com.taobao.api.request;

import java.util.List;
import com.taobao.api.internal.mapping.ApiField;
import com.taobao.api.internal.mapping.ApiListField;
import com.taobao.api.TaobaoObject;
import java.util.Map;

import com.taobao.api.ApiRuleException;
import com.taobao.api.BaseTaobaoRequest;
import com.taobao.api.internal.util.TaobaoHashMap;
import com.taobao.api.internal.util.json.JSONWriter;
import com.taobao.api.response.TmallNrItemTagOpsResponse;

/**
 * TOP API: tmall.nr.item.tag.ops request
 * 
 * @author top auto create
 * @since 1.0, 2019.01.08
 */
public class TmallNrItemTagOpsRequest extends BaseTaobaoRequest<TmallNrItemTagOpsResponse> {
	
	

	/** 
	* 请求入参
	 */
	private String tagReqDTO;

	public void setTagReqDTO(String tagReqDTO) {
		this.tagReqDTO = tagReqDTO;
	}

	public void setTagReqDTO(TagReqDto tagReqDTO) {
		this.tagReqDTO = new JSONWriter(false,true).write(tagReqDTO);
	}

	public String getTagReqDTO() {
		return this.tagReqDTO;
	}

	public String getApiMethodName() {
		return "tmall.nr.item.tag.ops";
	}

	public Map<String, String> getTextParams() {		
		TaobaoHashMap txtParams = new TaobaoHashMap();
		txtParams.put("tag_req_d_t_o", this.tagReqDTO);
		if(this.udfParams != null) {
			txtParams.putAll(this.udfParams);
		}
		return txtParams;
	}

	public Class<TmallNrItemTagOpsResponse> getResponseClass() {
		return TmallNrItemTagOpsResponse.class;
	}

	public void check() throws ApiRuleException {
	}
	
	/**
 * 请求入参
 *
 * @author top auto create
 * @since 1.0, null
 */
public static class TagReqDto extends TaobaoObject {

	private static final long serialVersionUID = 6128425336476149856L;

	/**
		 * 业务身份标识,dss定时送;FN蜂鸟,CN菜鸟
		 */
		@ApiField("biz_identity")
		private String bizIdentity;
		/**
		 * 商品编码列表
		 */
		@ApiListField("item_ids")
		@ApiField("big_decimal")
		private List<String> itemIds;
		/**
		 * 商家编码
		 */
		@ApiField("seller_id")
		private Long sellerId;
		/**
		 * 信息追踪串,用于后续排查问题,以及与外部厂商对账等场景下使用
		 */
		@ApiField("trace_id")
		private String traceId;
		/**
		 * 商品标操作类型，1:打标，2:去标
		 */
		@ApiField("type")
		private Long type;
	

	public String getBizIdentity() {
			return this.bizIdentity;
		}
		public void setBizIdentity(String bizIdentity) {
			this.bizIdentity = bizIdentity;
		}
		public List<String> getItemIds() {
			return this.itemIds;
		}
		public void setItemIds(List<String> itemIds) {
			this.itemIds = itemIds;
		}
		public Long getSellerId() {
			return this.sellerId;
		}
		public void setSellerId(Long sellerId) {
			this.sellerId = sellerId;
		}
		public String getTraceId() {
			return this.traceId;
		}
		public void setTraceId(String traceId) {
			this.traceId = traceId;
		}
		public Long getType() {
			return this.type;
		}
		public void setType(Long type) {
			this.type = type;
		}

}


}